Object-Oriented Construction Handbook (Hardcover)

Object-Oriented Construction Handbook (Hardcover)

作者: Heinz Züllighoven
出版社: Morgan Kaufmann
出版在: 2004-10-13
ISBN-13: 9781558606876
ISBN-10: 1558606874
裝訂格式: Hardcover
總頁數: 544 頁





內容描述


Table of
Contents:

Chapter 1 Introduction1.1 Application Orientation—The Subject of
This Book1.1.1 Motivation1.1.2 Structure of This Book1.2 The Tools
& Materials Approach (T&M)1.2.1 The T&M Approach in a
Nutshell1.2.2 T&M as a Method1.3 Projects Behind This
Book1.3.1 The Scope of the T&M Projects1.4 The Equipment
Management System Example1.5 ReferencesChapter 2 The T&M
Object Metamodel2 .1 The Object Metamodel2.1.1
Introduction2.1.2 Definition: The Object Metamodel2.1.3 Context:
What's the Purpose of an Object Metamodel?2.1.4 Context: A Classification
of Programming Languages2.1.5 The Object Metamodel and the Software
Model2.1.6 Definition: Objects2.1.7 Discussion: Object
Identity2.1.8 T&M Design: Structuring an Interface2.1.9
Definition: Classes2.1.10 Discussion: Generic Operations2.1.11 T&M
Design: Generic Operations2.1.12 Discussion: The Object Life
Cycle2.1.13 T&M Design: The Object Life Cycle2.1.14 Definition:
Inheritance2.1.15 Discussion: Inheritance2.1.16 T&M Design:
Inheritance2.1.17 Discussion: Role Relationships as an Alternative to
Inheritance2.1.18 Definition: Use Relationships2.1.19 Discussion: Use
Relationships2.1.20 Definition: Polymorphism2.1.21 Definition:
Abstract Classes2.1.22 Discussion: Specification and
Implementation2.1.23 Definition: Loose Coupling2.1.24 Discussion:
Loose Coupling2.2 Modularization2.2.1 Introduction2.2.2 Context:
Modules and Object Orientation2.2.3 Definition: Principles of
Object-Oriented Modularization2.3 The Contract Model2.3.1
Introduction2.3.2 Definition: Contract Model2.3.3 Discussion: The
Contract Model2.3.4 Context: The Contract Model and Abstract Data
Types2.3.5 T&M Design: The Contract Model2.4 Types2.4.1
Introduction2.4.2 Definition: Types2.4.3 Context: The Theoretical
Concept of Types2.4.4 Discussion: Types2.5 Classes and Types2.5.1
Introduction2.5.2 Classes in Your Design2.5.3 Differences between
Types and Classes2.5.4 Discussion: Classes versus Types2.5.5
Background: Programming Languages and Types2.5.6 T&M Design: Classes
and Types2.6 Values and Objects2.6.1 Introduction2.6.2
Characteristics of Values and Objects2.6.3 Using Values2.6.4 Context:
Values and Objects in Programming Languages2.6.5 Definition: Domain
Values2.6.6 T&M Design: Domain Values2.6.7 Implementing Domain
Values2.7 Metaobject Protocols2.7.1 Introduction2.7.2 Motivation
for a Metaobject Protocol2.7.3 Definition: Metaobject Protocol
(MOP)2.7.4 Representing Your Application Model2.7.5 Representing Your
Runtime System2.8 ReferencesChapter 3 Guiding Metaphors and
Design Metaphors3.1 Introduction3.2 Designing Application
Software3.2.1 Definition: The Usage Model3.2.2 Background: Methodology
Books versus Design Guidelines3.3 Guiding Metaphors for Application
Software3.3.1 Background: Guiding Metaphors in Software
Development3.3.2 The "Object Worlds" Guiding Metaphor3.3.3 The Direct
Manipulation Guiding Metaphor3.3.4 Discussion: Guiding Metaphor of Direct
Manipulation3.3.5 The Guiding Metaphor of the Factory3.3.6 Discussion:
The Factory Guiding Metaphor3.4 Design Metaphors3.4.1 Definition:
Metaphors3.5 T&M Guiding Metaphors and Design Metaphors3.5.1 A
T&M Guiding Metaphor: The Expert Workplace3.5.2 Background: The
Supportive View3.5.3 Discussion: Metaphors and Patterns3.5.4
Definition: A Tool3.5.5 The Tool as a Design Metaphor3.5.6 T&M
Design: Software Tools3.5.7 Definition: Material3.5.8 Material as a
Design Metaphor3.5.9 T&M Design: Software Materials3.5.10
Definition: The Work Environment3.5.11 The Work Environment as a Design
Metaphor3.5.12 T&M Design: The Work Environment3.5.13 Definition:
Automatons3.5.14 The Automaton as a Design Metaphor3.5.15 T&M
Design: Software Automatons3.5.16 Definition: The Container3.5.17 The
Container as a Design Metaphor3.5.18 T&M Design: Containers3.5.19
Discussion: Design Metaphors3.6 Workplace Types3.6.1 Definition:
Workplace Types3.6.2 T&M Design: The Expert Workplace Type3.6.3
T&M Design: The Functional Workplace Type3.6.4 T&M Design: The
Back-Office Workplace Type3.6.5 T&M Design: The Electronic Commerce
Front-end Workplace Type3.7 ReferencesChapter 4 Patterns,
Frameworks, and Components4.1 Introduction4.2 Background:
Patterns, Frameworks, and Components4.3 Patterns4.3.1 Definition:
Patterns4.3.2 The Characteristics of a Pattern4.3.3 A Taxonomy of
T&M Patterns4.3.4 Conceptual Patterns4.3.5 Design
Patterns4.3.6 Programming Patterns4.3.7 T&M Design: Design
Patterns4.3.8 T&M Design: Models, Metaphors, and Patterns4.3.9
Background: Pattern Form4.3.10 T&M Design: Pattern Form4.3.11
Pattern Collections4.4 Frameworks4.4.1 Background: Class
Libraries4.4.2 Definition: Frameworks4.4.3 Application
Frameworks4.4.4 Black Box and White Box Frameworks4.4.5 Connectors
between Frameworks4.4.6 JWAM Framework: Layered Framework
Architecture4.5 Components4.5.1 Background: Software
Components4.5.2 Definition: Components4.5.3 Current Component
Products4.5.4 Components and Frameworks4.6
REFERENCESChapter 5 Application-Oriented Software
Development5.1 Introduction5.2 Application-Oriented
Software5.2.1 Application Software5.2.2 Definition: Application
Orientation5.2.3 Background: Application Orientation5.2.4 Usage
Quality5.2.5 T&M Design: Structural Similarity5.3 The Development
Process5.3.1 Definition: Software Development5.3.2 The
Application-Oriented Development Process5.3.3 Discussion: The Development
Process5.3.4 The Author-Critic Cycle5.3.5 Discussion: The
Author-Critic Cycle5.3.6 Evolutionary System Development5.3.7
Documentation in Software Development5.3.8 Discussion:
Documentation5.3.9 Application-Oriented Development Documents5.3.10
Discussion: Application-Oriented Document Types5.3.11 T&M Design:
Application-Oriented Document Types5.3.12 Discussion: T&M Document
Types5.3.13 Project Documents5.3.14 Documentation Guidelines5.4
ReferencesChapter 6 Software Development as a Modeling
Process6.1 Introduction6.2 A Simplified Software Development
Model6.2.1 Discussion: A Descriptive Software Development Model6.3 The
Application Domain6.3.1 Definition: Application Domain6.3.2
Discussion: Analyzing the Application Domain6.4 The Domain Model6.4.1
Modeling Your Application Domain6.4.2 Discussion: Modeling Your
Application Domain6.5 The Application System Model6.5.1 Context: The
Application System Model6.5.2 Definition: Application System
Model6.5.3 Discussion: Structural Similarity and Macrostructures6.6
The Application System6.6.1 Definition: The Application System6.6.2
Discussion: The Application System6.7 Software Development
Contexts6.7.1 Discussion: Software Development Contexts6.7.2 The
Application Domain Context6.7.3 Discussion: The Application Domain
Context6.7.4 Applied Technique6.7.5 Handling and Presentation6.7.6
Discussion: Handling and Presentation6.8 Contexts Influencing the Software
Architecture6.8.1 Discussion: How Contexts Influence Your Software
Architecture6.9 ReferencesChapter 7 T&M Conceptual
Patterns7.1 Conceptual Patterns7.1.1 Conceptual Patterns in the
Development Process7.1.2 The T&M Conceptual Patterns7.2 A Guided
Tour of the T&M Conceptual Patterns7.3 The Interrelation of Tools and
Materials Pattern7.4 The Material Design Pattern7.5 The Tool Design
Pattern7.6 The Work Environment Pattern7.7 The Container
Pattern7.8 The Form Pattern7.9 The Automaton Pattern7.10 The
Domain Service Provider Pattern7.11 The Technical Automaton
Pattern7.12 The Probe Pattern7.13 The Adjusting Tool
PatternChapter 8 T&M Design Patterns8.1
Introduction8.2 A Guided Tour of the T&M Design Patterns8.3 The
Aspect Pattern8.3.1 Construction Part: Using Inheritance or Interfaces to
Implement Aspects8.3.2 Construction Part: Using Object Adapters to
Implement Aspects8.3.3 Construction Part: Using Development Tools to
Realize Aspects8.3.4 Construction Part: Alternatives to Using
Aspects8.4 The Separating Function and Interaction Pattern8.5 The
Tools Composition Pattern8.5.1 Construction Part: Using Components to
Build Tools8.5.2 Construction Part: Using Components to Build Combination
Tools8.5.3 Construction Part: Identifying Tool Boundaries8.6 The
Feedback between Tool Parts Pattern8.6.1 Construction Part: Event
Pattern8.6.2 Construction Part: Event Objects8.6.3 Construction Part:
Chain of Responsibility8.6.4 Construction Part: Tool Component with
Reaction Mechanisms8.7 The Separating FP and IP Pattern8.7.1
Construction Part: Interactive Part (IP)8.7.2 Construction Part: FP8.8
The Separating Handling and Presentation Pattern8.9 The Feedback between
Interaction Forms and IP Pattern8.10 The Domain Values Pattern8.10.1
Construction Part: Domain Value Classes8.10.2 Construction Part: Immutable
Domain Value Objects8.10.3 Construction Part: Mutable Domain Value
Objects8.10.4 Construction Part: Implementing Domain Values as
Streams8.10.5 Construction Part: Domain Value Types by
Configuration8.11 The Domain Container Pattern8.11.1 Construction
Part: Using Technical Containers to Implement Domain Containers8.11.2
Construction Part: Loading Materials8.11.3 Construction Part: Tables of
Contents for Containers8.11.4 Construction Part: Implementing Tables of
Contents as Materials8.11.5 Construction Part: Implementing Tables of
Contents as Domain Values8.11.6 Construction Part: Coping with Changes to
Containers8.12 The Form System Pattern8.13 The Automatons in
Technically Embedded Systems Pattern8.14 The Domain Services
Pattern8.15 The Environment Pattern8.16 Using the T&M Design
Patterns for the JWAM Framework8.16.1 Materials Construction8.16.2
Tools Construction8.16.3 Domain Values8.16.4 Presentation and
Interaction Forms8.16.5 Forms8.16.6 Domain Services8.16.7 Work
Environment8.17 ReferencesChapter 9 T&M Model
Architecture9.1 The T&M Model Architecture9.2 The Domain Core
of a Software Architecture9.2.1 The Use Context9.2.2 The Product
Domain9.2.3 The Business Domain9.2.4 How Different Domains
Relate9.3 Concepts and Elements of a T&M Model Architecture9.3.1
Components of an Object-Oriented Software Architecture9.3.2 Elementary
Rules for Combining Elements of a Software Architecture9.3.3
Protocol-Based Layer Architectures9.3.4 Object-Oriented Layer
Architectures9.3.5 The Layer Concept of the T&M Model
Architecture9.3.6 The Three-Tier Architecture9.3.7 The T&M Model
Architecture9.4 Design Patterns for the T&M Model
Architecture9.4.1 The Role Pattern9.4.2 The Product Trader
Pattern9.5 ReferencesChapter 10 Supporting Cooperative
Work10.1 Background: Computer-Supported Cooperative Work10.1.1
CSCW10.1.2 Technical and Domain Transparency10.2 Implicit
Cooperation10.3 Explicit Cooperation by Exchanging Materials10.3.1
Cooperation Medium: Mailboxes10.3.2 Cooperation Medium: Mailing
System10.4 Explicit Cooperation Model: Transaction Processing
Support10.4.1 The Concept of Process Patterns10.4.2 Cooperation
Medium: Routing Slips10.5 ReferencesChapter 11 Interactive
Application Systems and Persistence11.1 Background: Interactive
Application Systems11.2 Persistence Services11.2.1 Software
Registry11.2.2 The Basic Concept of a Software Registry11.2.3
Cooperation Model for a Registry11.2.4 Usage Model for a
Registry11.2.5 JWAM: Architecture for a Software Registry11.2.6 The
Generic Persistence Service11.3 Design Criteria to Implement
Persistence11.3.1 Client-Server Architecture11.3.2
Identifiers11.3.3 Technical Data Modeling and Structural Mapping11.3.4
Querying and Data Warehousing11.3.5 Load-on-Demand11.3.6 Transactions
and Locking11.3.7 Class Evolution11.3.8 Legacy Databases11.4
Real-World Examples11.4.1 JWAM Projects11.4.2 MedIS and
SyLabChapter 12 The Development Process12.1 Background:
Evolutionary and Traditional Process Models12.1.1 The Context of Our
Process Model12.1.2 The Process Model's Application Orientation12.1.3
The Classic Waterfall Model12.1.4 The Spiral Model12.1.5 An Idealized
Evolutionary Process Model12.2 Topics for a Development Strategy12.2.1
Sequence of Development Activities12.2.2 Objectifying the Development
Process12.2.3 Lehman's Software Classification12.2.4 The Cooperative
Development Process12.2.5 Organizational and Domain Integration12.2.6
Developing an IT Organization12.3 Quality Assurance in the Development
Process12.3.1 Direct User Integration12.3.2 Prototyping12.3.3
Reviews12.3.4 Pair Programming12.3.5 Refactoring12.4 Quality
Assurance in Construction12.4.1 Characteristics of OO Testing12.4.2
Testing OO Programs12.5 Project Management12.5.1 Fundamental
Activities of the Management Process12.5.2 The Contexts of the Management
Process12.6 Project Planning Concepts and Techniques12.6.1 Project
Calibration12.6.2 Project Goals12.6.3 Decision Principles12.6.4
Project Establishment12.7 Structuring a Project by System
Decomposition12.7.1 Core System and Special-Purpose Systems12.7.2 Core
System and Extension Levels12.8 Scheduling and Task Planning12.8.1
General Rules for Time Estimates12.8.2 Planning the Project
Stages12.8.3 Using Base Lines for Detailed Planning12.8.4 The UP and
T&M Project Planning12.9 Discussing T&M, Unified Process, and
XP12.9.1 Structure of the UP and T&M Development Processes12.10
ReferencesChapter 13 T&M Document Types13.1
Scenarios13.1.1 Using Scenarios in the Development Process13.1.2
Subtypes of Scenarios13.1.3 Scenarios and UML13.2 Interviews13.2.1
The Interview Process13.3 The Concept Model13.3.1 Using a Concept
Model in the Development Process13.3.2 Concept Models and UML13.4
Glossaries13.4.1 Using a Glossary in the Development Process13.4.2
Glossaries, UML, and UP13.5 System Visions13.5.1 Using System Visions
in the Development Process13.5.2 System Visions and XP13.5.3 System
Visions and UML13.6 Prototypes13.6.1 Using Prototypes in the
Development Process13.6.2 Prototypes and UP13.7 Cooperation
Pictures13.7.1 Cooperation Pictures in the Development Process13.7.2
Cooperation Pictures and UML13.8 Purpose Tables13.8.1 Using Purpose
Tables in the Development Process13.8.2 Purpose Tables and UML13.9
Technical Document Types in UML13.9.1 Class Diagrams13.9.2 Object
Diagrams13.9.3 Use Case Diagrams13.9.4 Interaction Diagrams13.9.5
Statechart Diagrams13.9.6 Activity Diagrams13.9.7 Component
Diagrams13.9.8 Deployment Diagrams13.9.9 Application-Oriented and
Technical Documents13.10
References




相關書籍

Object-Oriented Construction Handbook (Hardcover)

作者 Heinz Züllighoven

2004-10-13

The Road Map to Software Engineering: A Standards-Based Guide

作者 James W. Moore

2004-10-13

Refactoring: Improving the Design of Existing Code (Hardcover)

作者 Martin Fowler Kent Beck John Brant William Opdyke Don Roberts

2004-10-13